package java_test.polymorphism.enum_test;

/**
 * values(), ordinal() 和 valueOf() 方法
 * enum 定义的枚举类默认继承了 java.lang.Enum 类，并实现了 java.lang.Seriablizable 和
 * java.lang.Comparable 两个接口。
 * <p>
 * values(), ordinal() 和 valueOf() 方法位于 java.lang.Enum 类中：
 * <p>
 * values() 返回枚举类中所有的值。
 * ordinal()方法可以找到每个枚举常量的索引，就像数组索引一样。
 * valueOf()方法返回指定字符串值的枚举常量。
 */
public class Test {
    enum Style {
        BACKGROUND,
        DISPLAY,
        HEIGHT

    }

    public static void main(String[] args) {
        Color c = Color.RED;
        Style s = Style.BACKGROUND;
        System.out.println(c);
        System.out.println(s);
        System.out.println(Color.values());
        for (Color myVar : Color.values()) {
            // Color.values 返回所有的对象合集
            // Color的子成员myVar.ordinal()  得到对应的元素的下标
            //
            System.out.println(Color.valueOf("RED"));
            System.out.println(myVar.ordinal());
        }
    }
}
